home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / nio / CharBuffer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  4.2 KB  |  273 lines

  1. package java.nio;
  2.  
  3. import java.io.IOException;
  4.  
  5. public abstract class CharBuffer extends Buffer implements Comparable<CharBuffer>, Appendable, CharSequence, Readable {
  6.    // $FF: renamed from: hb char[]
  7.    final char[] field_0;
  8.    final int offset;
  9.    boolean isReadOnly;
  10.  
  11.    CharBuffer(int var1, int var2, int var3, int var4, char[] var5, int var6) {
  12.       super(var1, var2, var3, var4);
  13.       this.field_0 = var5;
  14.       this.offset = var6;
  15.    }
  16.  
  17.    CharBuffer(int var1, int var2, int var3, int var4) {
  18.       this(var1, var2, var3, var4, (char[])null, 0);
  19.    }
  20.  
  21.    public static CharBuffer allocate(int var0) {
  22.       if (var0 < 0) {
  23.          throw new IllegalArgumentException();
  24.       } else {
  25.          return new HeapCharBuffer(var0, var0);
  26.       }
  27.    }
  28.  
  29.    public static CharBuffer wrap(char[] var0, int var1, int var2) {
  30.       try {
  31.          return new HeapCharBuffer(var0, var1, var2);
  32.       } catch (IllegalArgumentException var4) {
  33.          throw new IndexOutOfBoundsException();
  34.       }
  35.    }
  36.  
  37.    public static CharBuffer wrap(char[] var0) {
  38.       return wrap((char[])var0, 0, var0.length);
  39.    }
  40.  
  41.    public int read(CharBuffer var1) throws IOException {
  42.       int var2 = var1.remaining();
  43.       int var3 = this.remaining();
  44.       if (var3 == 0) {
  45.          return -1;
  46.       } else {
  47.          int var4 = Math.min(var3, var2);
  48.          int var5 = this.limit();
  49.          if (var2 < var3) {
  50.             this.limit(this.position() + var4);
  51.          }
  52.  
  53.          try {
  54.             if (var4 > 0) {
  55.                var1.put(this);
  56.             }
  57.          } finally {
  58.             this.limit(var5);
  59.          }
  60.  
  61.          return var4;
  62.       }
  63.    }
  64.  
  65.    public static CharBuffer wrap(CharSequence var0, int var1, int var2) {
  66.       try {
  67.          return new StringCharBuffer(var0, var1, var2);
  68.       } catch (IllegalArgumentException var4) {
  69.          throw new IndexOutOfBoundsException();
  70.       }
  71.    }
  72.  
  73.    public static CharBuffer wrap(CharSequence var0) {
  74.       return wrap((CharSequence)var0, 0, var0.length());
  75.    }
  76.  
  77.    public abstract CharBuffer slice();
  78.  
  79.    public abstract CharBuffer duplicate();
  80.  
  81.    public abstract CharBuffer asReadOnlyBuffer();
  82.  
  83.    public abstract char get();
  84.  
  85.    public abstract CharBuffer put(char var1);
  86.  
  87.    public abstract char get(int var1);
  88.  
  89.    public abstract CharBuffer put(int var1, char var2);
  90.  
  91.    public CharBuffer get(char[] var1, int var2, int var3) {
  92.       checkBounds(var2, var3, var1.length);
  93.       if (var3 > this.remaining()) {
  94.          throw new BufferUnderflowException();
  95.       } else {
  96.          int var4 = var2 + var3;
  97.  
  98.          for(int var5 = var2; var5 < var4; ++var5) {
  99.             var1[var5] = this.get();
  100.          }
  101.  
  102.          return this;
  103.       }
  104.    }
  105.  
  106.    public CharBuffer get(char[] var1) {
  107.       return this.get(var1, 0, var1.length);
  108.    }
  109.  
  110.    public CharBuffer put(CharBuffer var1) {
  111.       if (var1 == this) {
  112.          throw new IllegalArgumentException();
  113.       } else {
  114.          int var2 = var1.remaining();
  115.          if (var2 > this.remaining()) {
  116.             throw new BufferOverflowException();
  117.          } else {
  118.             for(int var3 = 0; var3 < var2; ++var3) {
  119.                this.put(var1.get());
  120.             }
  121.  
  122.             return this;
  123.          }
  124.       }
  125.    }
  126.  
  127.    public CharBuffer put(char[] var1, int var2, int var3) {
  128.       checkBounds(var2, var3, var1.length);
  129.       if (var3 > this.remaining()) {
  130.          throw new BufferOverflowException();
  131.       } else {
  132.          int var4 = var2 + var3;
  133.  
  134.          for(int var5 = var2; var5 < var4; ++var5) {
  135.             this.put(var1[var5]);
  136.          }
  137.  
  138.          return this;
  139.       }
  140.    }
  141.  
  142.    public final CharBuffer put(char[] var1) {
  143.       return this.put((char[])var1, 0, var1.length);
  144.    }
  145.  
  146.    public CharBuffer put(String var1, int var2, int var3) {
  147.       checkBounds(var2, var3 - var2, var1.length());
  148.  
  149.       for(int var4 = var2; var4 < var3; ++var4) {
  150.          this.put(var1.charAt(var4));
  151.       }
  152.  
  153.       return this;
  154.    }
  155.  
  156.    public final CharBuffer put(String var1) {
  157.       return this.put((String)var1, 0, var1.length());
  158.    }
  159.  
  160.    public final boolean hasArray() {
  161.       return this.field_0 != null && !this.isReadOnly;
  162.    }
  163.  
  164.    public final char[] array() {
  165.       if (this.field_0 == null) {
  166.          throw new UnsupportedOperationException();
  167.       } else if (this.isReadOnly) {
  168.          throw new ReadOnlyBufferException();
  169.       } else {
  170.          return this.field_0;
  171.       }
  172.    }
  173.  
  174.    public final int arrayOffset() {
  175.       if (this.field_0 == null) {
  176.          throw new UnsupportedOperationException();
  177.       } else if (this.isReadOnly) {
  178.          throw new ReadOnlyBufferException();
  179.       } else {
  180.          return this.offset;
  181.       }
  182.    }
  183.  
  184.    public abstract CharBuffer compact();
  185.  
  186.    public abstract boolean isDirect();
  187.  
  188.    public int hashCode() {
  189.       int var1 = 1;
  190.       int var2 = this.position();
  191.  
  192.       for(int var3 = this.limit() - 1; var3 >= var2; --var3) {
  193.          var1 = 31 * var1 + this.get(var3);
  194.       }
  195.  
  196.       return var1;
  197.    }
  198.  
  199.    public boolean equals(Object var1) {
  200.       if (!(var1 instanceof CharBuffer)) {
  201.          return false;
  202.       } else {
  203.          CharBuffer var2 = (CharBuffer)var1;
  204.          if (this.remaining() != var2.remaining()) {
  205.             return false;
  206.          } else {
  207.             int var3 = this.position();
  208.             int var4 = this.limit() - 1;
  209.  
  210.             for(int var5 = var2.limit() - 1; var4 >= var3; --var5) {
  211.                char var6 = this.get(var4);
  212.                char var7 = var2.get(var5);
  213.                if (var6 != var7 && (var6 == var6 || var7 == var7)) {
  214.                   return false;
  215.                }
  216.  
  217.                --var4;
  218.             }
  219.  
  220.             return true;
  221.          }
  222.       }
  223.    }
  224.  
  225.    public int compareTo(CharBuffer var1) {
  226.       int var2 = this.position() + Math.min(this.remaining(), var1.remaining());
  227.       int var3 = this.position();
  228.  
  229.       for(int var4 = var1.position(); var3 < var2; ++var4) {
  230.          char var5 = this.get(var3);
  231.          char var6 = var1.get(var4);
  232.          if (var5 != var6 && (var5 == var5 || var6 == var6)) {
  233.             return var5 < var6 ? -1 : 1;
  234.          }
  235.  
  236.          ++var3;
  237.       }
  238.  
  239.       return this.remaining() - var1.remaining();
  240.    }
  241.  
  242.    public String toString() {
  243.       return this.toString(this.position(), this.limit());
  244.    }
  245.  
  246.    abstract String toString(int var1, int var2);
  247.  
  248.    public final int length() {
  249.       return this.remaining();
  250.    }
  251.  
  252.    public final char charAt(int var1) {
  253.       return this.get(this.position() + this.checkIndex(var1, 1));
  254.    }
  255.  
  256.    public abstract CharSequence subSequence(int var1, int var2);
  257.  
  258.    public CharBuffer append(CharSequence var1) {
  259.       return var1 == null ? this.put("null") : this.put(var1.toString());
  260.    }
  261.  
  262.    public CharBuffer append(CharSequence var1, int var2, int var3) {
  263.       Object var4 = var1 == null ? "null" : var1;
  264.       return this.put(((CharSequence)var4).subSequence(var2, var3).toString());
  265.    }
  266.  
  267.    public CharBuffer append(char var1) {
  268.       return this.put(var1);
  269.    }
  270.  
  271.    public abstract ByteOrder order();
  272. }
  273.